﻿/*
(C)小草莓软件	https://www.xcmsoft.com/
QQ：406675425
Email：406675425@qq.com
*/
#pragma once

#define STATE_MAX_LENGTH 256	//stateMsg最长长度256，即2^8，8个通道

// UI配置里的Signal对象
class CUiSignal
{
public:
	CUiSignal(const CString& szId);
	virtual ~CUiSignal();

public:
	// 返回Id
	const CString GetId();

	// 设置单位
	void SetUnit(const CString& szUnit);
	// 返回单位
	const CString GetUnit();

	// 设置正常状态时显示的信息
	void SetNormalMsg(const CString& szNormalMsg);
	// 返回正常状态时显示的信息
	const CString GetNormalMsg();

	// 设置异常状态时显示的信息
	void SetSpecialMsg(const CString& szSpecialMsg);
	// 返回异常状态时显示的信息
	const CString GetSpecialMsg();

	// 设置多状态时显示的信息
	void SetStateMsg(const CString& szStateMsg, int index);
	// 返回多状态时显示的信息
	const CString GetStateMsg(int index);
	
protected:
	CString		m_szId;							// 名称
	CString		m_szUnit;						// 单位
	CString		m_szNormalMsg;					// 正常状态时显示的信息
	CString     m_szSpecialMsg;					// 异常状态时显示的信息
	CString		m_szStateMsg[STATE_MAX_LENGTH];	// 多状态时显示的信息
};

